//
//  NSDate+ROCaculateTime.h
//  Runone
//
//  Created by runone02 on 16/12/14.
//  Copyright © 2016年 runone. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (ROCaculateTime)
/*
 * 获取月份的天数
 *
 * @return 月份的天数
 */
- (NSUInteger) daysOfMonth;

/*
 * 获取年份的天数
 *
 * @return 年份的天数
 */
- (NSUInteger) daysOfYear;

/*
 * 获取月份的第一天
 *
 * @return 月份的第一天
 */
- (NSDate *) firstDayOfMonth;

/*
 * 获取月份的最后一天
 *
 * @return 月份的最后一天
 */
- (NSDate *) lastDayOfMonth;

/*
 * 根据月份和天数获取间隔
 *
 * @param months 月份间隔
 * @param days   天数间隔
 *
 * @return 间隔时间日期
 */
- (NSDate *) caculateMonthsAndDays:(NSUInteger )months  days:(NSUInteger )days;

/*
 * 根据开始时间和结束时间计算间隔的数组
 *
 * @param toDate
 *
 * @return 数组
 */
- (NSArray *) caculateMonthsAndDaysBetweenTwoDates:(NSDate *)toDate;

/*
 * 获取是周几
 *
 * @return 周几的阿拉伯数字
 */
- (NSInteger ) weekday;

/*
 * 根据地区标示获取是周几
 *
 *@param isShortName 是否是短名称
 *@param indentifier 地区标示 （中国：zh_CN、美国：en_US）
 *
 * @return 周几
 */
- (NSString *) weekdayName:(BOOL)isShortName localIdentifier:(NSString *)identifier;

/*
 * 获取中文周几
 *
 *@param isShortName 是否是短名称
 *
 * @return 周几的中文名称(周日， 周一， 周二， 周三， 周四， 周五， 周六)
 */
//- (NSString *) weekdayNameCN:(BOOL)isShortName;
//
///*
// * 获取英文周几
// *
// *@param isShortName 是否是短名称
// *
// * @return 周几的英文名称(Sun、Mon、Tue、Wed、Thu、Fri、Sat)
// */
//- (NSString *) weekdayNameEN:(BOOL)isShortName;

/*
 * 比较两个时间日期是否相差24小时
 *
 *@param   toDate
 *@return  BOOL是否是在24小时之内
 */
- (BOOL) TwoDateIsIn24HourTODate:(NSDate *)toDate;

/*
 * 比较两个时间日期相差的天数，小时
 *
 *@param   toDate
 *@return  天数 + 小时
 */
- (NSString *)theDaysTODate:(NSDate *)toDate;

/*
 * 一个时间与当前时间相比
 *
 *@return  -1 小于当前时间; 0 等于当前时间; 1大于当前时间
 */
- (NSInteger)compareToCurrentDate;

/*
 * 两个时间相比
 *
 *@return  -1 小于; 0 等于; 1大于
 */
- (NSInteger)compareToToDate:(NSDate *)toDate;


@end
